package com.black.cat.seed.utils;

import org.apache.commons.lang3.RandomUtils;

import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;


public class FileNameUtil {

    private static final DateTimeFormatter PATTERN = DateTimeFormatter.ofPattern("yyyyMMddHHmmss");

    /**
     * 生成oss objectName
     *
     * @return
     */
    public static String getObjectName(String suffix) {
        return getFolder() + getFileName(suffix);
    }

    /**
     * 生成带后缀的文件名
     *
     * @param suffix 后缀
     * @return
     */
    public static String getFileName(String suffix) {
        //时间戳+随机数+后缀
        return getFileName() + suffix;
    }

    /**
     * 生成不带后缀的文件名
     *
     * @return 随机文件名，不带后缀
     */
    public static String getFileName() {
        //时间戳+随机数+后缀
        return LocalDateTime.now().format(PATTERN) + RandomUtils.nextInt(10, 99);
    }

    /**
     * 生成文件夹名
     *
     * @return
     */
    public static String getFolder() {
        //    年份/月份
        LocalDateTime now = LocalDateTime.now();
        return now.getYear() + "/" + now.getMonthValue() + "/";
    }
}
